﻿using ETHotfix;
using ETModel;
using System;
using ZGameSurvival.Hotfix.Components;

namespace ZGameSurvival.Hotfix {
    [ObjectSystem]
    public class HotfixInit : AwakeSystem<HotfixComponent> {
        public override void Awake(HotfixComponent self) {
            if (StartConfigComponent.Instance.StartConfig.AppType.HasFlag(AppType.Realm)) {
                Game.Scene.AddComponent<RealmGateAddressComponent>();
            }
            if (StartConfigComponent.Instance.StartConfig.AppType.HasFlag(AppType.Gate)) {
                Game.Scene.AddComponent<GateLoginKeyComponent>();
            }
            if (StartConfigComponent.Instance.StartConfig.AppType.HasFlag(AppType.Map)) {
                // 游戏内容级配置管理
                Game.Scene.AddComponent<ConfigComponent, string>("./Configs/");
                //单位信息同步客户端组件
                Game.Scene.AddComponent<UnitInfoSyncComponent>();
                //使用物理
                if (Game.Scene.GetComponent<BulletCollisionWorld>() == null) Game.Scene.AddComponent<BulletCollisionWorld>();

                //物理形状同步客户端调试线框
                Game.Scene.AddComponent<DebugInfoSyncComponent>();
            }




        }
    }
}
